﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using LYL.Common.RT;
using System.Collections.ObjectModel;
using Windows.UI.Xaml;

namespace WeixinSB.Model
{
    public class WeixinSbResponse
    {
        public int Id { get; set; }
        public string Des { get; set; }

        public List<WeixinSbModel> DataModel { get; set; }
    }

    public class DianZanModel : BaseNotify
    {
        private static DianZanModel model;
        public static DianZanModel Get() 
        {
            if (model==null)
            {
                model = new DianZanModel();
            }

            return model;
        }

        private string sendCount="143";

        public string SendCount
        {
            get { return sendCount; }
            set { SetProperty(ref sendCount, value); }
        }


        private string getCount="187";

        public string GetCount
        {
            get { return getCount; }
            set { SetProperty(ref getCount, value); }
        }

        private string version = "6.0";

        public string Version
        {
            get { return version; }
            set { SetProperty(ref version, value); }
        }
    }


    public class WeixinSbModel : BaseNotify
    {
        private double wpOpacity = 0.2;

        public double WpOpacity
        {
            get { return wpOpacity; }
            set { SetProperty(ref wpOpacity, value); }
        }

        private double androidOpacity = 1;

        public double AndroidOpacity
        {
            get { return androidOpacity; }
            set { SetProperty(ref androidOpacity, value); }
        }

        private double iphoneOpacity = 1;

        public double IphoneOpacity
        {
            get { return iphoneOpacity; }
            set { SetProperty(ref iphoneOpacity, value); }
        }


        private Visibility wpVisibility = Visibility.Visible;

        public Visibility WPVisibility
        {
            get 
            {
                if (wpOpacity<1)
                {
                    wpVisibility = Visibility.Visible;
                }
                else
                {
                    wpVisibility = Visibility.Collapsed;
                }
                return wpVisibility;
            }
            set { SetProperty(ref wpVisibility, value); }
        }

        private Visibility androidVisibility = Visibility.Collapsed;

        public Visibility AndroidVisibility
        {
            get
            {
                if (androidOpacity < 1)
                {
                    androidVisibility = Visibility.Visible;
                }
                else
                {
                    androidVisibility = Visibility.Collapsed;
                }
                return androidVisibility; 
            }
            set { SetProperty(ref androidVisibility, value); }
        }


        private Visibility iPhoneVisibility = Visibility.Collapsed;

        public Visibility IPhoneVisibility
        {
            get
            {
                if (iphoneOpacity < 1)
                {
                    iPhoneVisibility = Visibility.Visible;
                }
                else
                {
                    iPhoneVisibility = Visibility.Collapsed;
                }
                return iPhoneVisibility;
            }
            set { SetProperty(ref iPhoneVisibility, value); }
        }

        public bool IsExpand { get; set; }

        private string headUrl;

        public string HeadUrl
        {
            get { return headUrl; }
            set
            {
                SetProperty(ref headUrl, value);
            }
        }


        private string nickName;

        public string NickName
        {
            get { return nickName; }
            set
            {
                SetProperty(ref nickName, value);
            }
        }

        private string content;

        public string Content
        {
            get { return content; }
            set
            {
                SetProperty(ref content, value);
            }
        }



        private string publishAt;

        public string PublishAt
        {
            get { return publishAt; }
            set
            {
                SetProperty(ref publishAt, value);
            }
        }

        private string[] attachment;

        public string[] Attachment
        {
            get { return attachment; }
            set
            {
                SetProperty(ref attachment, value);
            }
        }


        private string praise;

        public string Praise
        {
            get { return praise; }
            set
            {
                SetProperty(ref praise, value);
            }
        }

        private string chinaMoblie = "中国移动 3G";
        public string ChinaMoblie
        {
            get { return chinaMoblie; }
            set
            {
                SetProperty(ref chinaMoblie, value);
            }
        }

        private List<CommentModel> commentList;

        public List<CommentModel> CommentList
        {
            get { return commentList; }
            set
            {
                SetProperty(ref commentList, value);
            }
        }
    }

    public class CommentModel : BaseNotify
    {
        private bool isChecked;

        public bool IsChecked
        {
            get { return isChecked; }
            set
            {
                SetProperty(ref isChecked, value);
            }
        }


        private string userName;

        public string UserName
        {
            get { return userName; }
            set
            {
                SetProperty(ref userName, value);
            }
        }

        private string text;

        public string Text
        {
            get { return text; }
            set
            {
                SetProperty(ref text, value);
            }
        }

        public string Type { get; set; }
    }

    //public class PriseModel 
    //{
    //    public string Type { get; set; }

    //    public string Text { get; set; }
    //}
}
